import { BizError } from '../error/bizError.js'
const log = require('log4js').getLogger('errorFilter')
/**
 * 异常过滤器
 * @param {*} nextFun 下一个方法
 * @returns 结果
 */
export async function errorFilter(nextFun) {
  try {
    const data = await nextFun()
    return JSON.stringify({
      status: success,
      data
    })
  } catch (e) {
    log.error(e)
    if (e instanceof BizError) {
      return JSON.stringify({
        status: bizError,
        data: e
      })
    } else {
      return JSON.stringify({
        status: sysError,
        message: erMsg
      })
    }
  }
}
//正常
const success = 200
//系统错误
const sysError = 500
//业务错误
const bizError = 502
const erMsg = '系统错误'
